package com.sg.service.base.app;

import com.sg.dto.base.app.req.*;
import com.sg.entity.OmsVirtualOrgMember;

import java.util.List;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
public interface MOmsVirtualOrgMemberService {
    /**
     * 3-6-02删除虚拟组织成员
     */
    boolean deleteVirtualOrgMember(String virtualOrgMemberId);

    /**
     * 3-6-02修改虚拟组织成员
     */
    boolean updateVirtualOrgMember(OmsVirtualOrgMember omsVirtualOrgMember);

    /**
     * 3-6-02批量增虚拟组织成员
     */
    boolean batchAddVirtualOrgMember(List<OmsVirtualOrgMember> omsVirtualOrgMember);

    /**
     * 3-6-02查虚拟组织成员详情
     */
    OmsVirtualOrgMember queryVirtualOrgMemberDetail(QueryVirtualOrgMemberDetailReq reqDto);

    /**
     * 3-6-02新增虚拟组织成员
     */
    String addVirtualOrgMember(OmsVirtualOrgMember omsVirtualOrgMember);

    /**
     * 3-6-02批量查内容匹配虚拟成员列表
     */
    List<OmsVirtualOrgMember> batchQueryContentVirtualOrgMember(BatchQueryContentVirtualOrgMemberReq reqDto);

    /**
     * 3-6-02查虚拟组织成员列表
     */
    List<OmsVirtualOrgMember> queryVirtualOrgMemberList(QueryVirtualOrgMemberListReq reqDto);

    /**
     * 3-6-02批量查虚拟组织成员
     */
    List<OmsVirtualOrgMember> batchQueryVirtualOrgMember(BatchQueryVirtualOrgMemberReq reqDto);

    /**
     * 3-6-02批量删虚拟组织成员
     */
    boolean batchDeleteVirtualOrgMember(List<String> reqDto);

    /**
     * 3-6-02时间切片查询内容匹配虚拟成员
     */
    List<OmsVirtualOrgMember> queryByTimeSliceContentVirtualOrgMember(QueryByTimeSliceContentVirtualOrgMemberReq reqDto);

    /**
     * 3-6-02时间切片查询内容匹配虚拟成员列表
     */
    List<OmsVirtualOrgMember> queryListByTimeSliceContentVirtualOrgMember(QueryListByTimeSliceContentVirtualOrgMemberReq reqDto);

    /**
     * 3-6-02批量修改虚拟组织成员
     */
    boolean batchUpdateVirtualOrgMember(List<OmsVirtualOrgMember> omsVirtualOrgMember);

    /**
     * 3-6-02构造虚拟组织成员验证数据
     */
    String buildVirtualOrgMem(OmsVirtualOrgMember omsVirtualOrgMember);

    /**
     * M3-6-02构造单条虚拟组织成员验证数据
     */
    String buildSingleVirtualOrgMem(OmsVirtualOrgMember omsVirtualOrgMember);

    /**
     * M3-6-02批量增虚拟组织成员
     */
    boolean batchAddVirtualOrgMem(List<OmsVirtualOrgMember> omsVirtualOrgMember);

    /**
     * M3-6-02查询虚拟组织成员列表
     */
    List<OmsVirtualOrgMember> queryVirtualOrgMemList(QueryVirtualOrgMemListReq reqDto);

    /**
     * M3-6-02查询虚拟组织成员详情
     */
    OmsVirtualOrgMember queryVirtualOrgMemDetail(QueryVirtualOrgMemDetailReq reqDto);

    /**
     * M3-6-02一键删除多个单条虚拟组织成员验证数据
     */
    boolean autoDeleteSingleVirtualOrgMem(List<String> reqDto);

    /**
     * M3-6-02查询单条虚拟组织成员列表
     */
    List<OmsVirtualOrgMember> querySingleVirtualOrgMemList(QuerySingleVirtualOrgMemListReq reqDto);

    /**
     * M3-6-02删除单条虚拟组织成员
     */
    boolean deleteSingleVirtualOrgMem(String virtualOrgMemberId);

    /**
     * 3-6-02批量查询角色标识匹配虚拟组织成员
     */
    List<OmsVirtualOrgMember> batchQueryRoleCodeVirtualOrgMember(BatchQueryRoleCodeVirtualOrgMemberReq reqDto);

    /**
     * M3查询虚拟组织成员测试详情
     */
    OmsVirtualOrgMember queryVirtualOrgMemTestDataDetail(QueryVirtualOrgMemTestDataDetailReq reqDto);

    /**
     * M3查圈子成员基本信息详情
     */
    OmsVirtualOrgMember queryCircleMemberInfoDetail(QueryCircleMemberInfoDetailReq reqDto);

    /**
     * 3-6-02批量查询虚拟组织成员列表ByIds
     */
    List<OmsVirtualOrgMember> batchQueryVirtualOrgMemberListByIds(BatchQueryVirtualOrgMemberListByIdsReq reqDto);

    /**
     * M3批量查询虚拟组织成员测试列表ByIds
     */
    List<OmsVirtualOrgMember> batchQueryVirtualOrgMemTestDataListByIds(BatchQueryVirtualOrgMemTestDataListByIdsReq reqDto);

    /**
     * 3-6-02新增无批次虚拟组织成员
     */
    String addNoBatchVirtualOrgMember(OmsVirtualOrgMember omsVirtualOrgMember);

    /**
     * 3-6-02批量查询虚拟成员By归属对象
     */
    List<OmsVirtualOrgMember> batchQueryVirtualOrgMemberByOwnershipObject(BatchQueryVirtualOrgMemberByOwnershipObjectReq reqDto);

    /**
     * 3-6-02批量查询虚拟成员By账号
     */
    List<OmsVirtualOrgMember> batchQueryVirtualOrgMemberByUserId(BatchQueryVirtualOrgMemberByUserIdReq reqDto);

    /**
     * 3-6-02执行主键ID批量查虚拟组织成员
     */
    List<OmsVirtualOrgMember> implementPrimaryKeyBatchQueryVirtualOrgMember(ImplementPrimaryKeyBatchQueryVirtualOrgMemberReq reqDto);

    /**
     * 3-6-02执行就职记录批量查虚拟组织成员
     */
    List<OmsVirtualOrgMember> implementInductionBatchQueryVirtualOrgMember(ImplementInductionBatchQueryVirtualOrgMemberReq reqDto);

    /**
     * 3-6-02查询消息发送虚拟组织成员详情
     */
    OmsVirtualOrgMember queryMsgSendVirtualOrgMemberDetail(QueryMsgSendVirtualOrgMemberDetailReq reqDto);

    /**
     * 3-6-02批量增无批次虚拟组织成员
     */
    boolean batchAddNoBatchVirtualOrgMember(List<OmsVirtualOrgMember> omsVirtualOrgMember);

    /**
     * 3-6-02查询消息发送虚拟组织成员列表
     */
    List<OmsVirtualOrgMember> queryMsgSendVirtualOrgMemberList(QueryMsgSendVirtualOrgMemberListReq reqDto);

    /**
     * 3-6-02批量增有批次虚拟组织成员
     */
    boolean batchAddBatchVirtualOrgMember(List<OmsVirtualOrgMember> omsVirtualOrgMember);

    /**
     * 3-6-02批量查询虚拟组织成员By就职记录
     */
    List<OmsVirtualOrgMember> batchQueryVirtualOrgMemberByinducRecId(BatchQueryVirtualOrgMemberByinducRecIdReq reqDto);

    /**
     * 3-6-02批量查询小圈子By内容
     */
    List<OmsVirtualOrgMember> batchQuerySmallCircleByEntityId(BatchQuerySmallCircleByEntityIdReq reqDto);

    /**
     * 3-6-02查询目标内容责任人小圈子详情
     */
    OmsVirtualOrgMember queryTargetContInitiatorSmallCircleDetail(QueryTargetContInitiatorSmallCircleDetailReq reqDto);

    /**
     * 3-6-02查询目标内容成员小圈子详情
     */
    OmsVirtualOrgMember queryTargetContMemberSmallCircleDetail(QueryTargetContMemberSmallCircleDetailReq reqDto);

    /**
     * 3-6-02时间切片查虚拟组织成员详情
     */
// TODO: 2025/4/5 由于打了时间切片，默认必须生成数据集类型出参。但是我们又是想查详情，只能出单对象
    OmsVirtualOrgMember queryByTimeSliceVirtualOrgMemberDetail(QueryByTimeSliceVirtualOrgMemberDetailReq reqDto);
    //
}
